package com.yuanchu.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.common.utils.PageResult;
import com.yuanchu.common.utils.R;
import com.yuanchu.store.dto.EditStoreUserParamsDto;
import com.yuanchu.store.dto.QueryPageParams;
import com.yuanchu.store.dto.UserInfoDto;
import com.yuanchu.store.entity.YoshopStoreUserEntity;

import java.util.List;

/**
 * 商家用户记录表
 *
 * @author adan
 * @email 2028038953@gmail.com
 * @date 2023-12-19 20:57:22
 */
public interface YoshopStoreUserService extends IService<YoshopStoreUserEntity> {



    /**
     * 获取用户信息
     * @param userId
     * @return
     */
    UserInfoDto getUserInfo(Integer userId);

    /**
     * 查询商家管理员列表
     *
     * @param params
     * @param storeId
     * @return
     */
    PageResult<YoshopStoreUserEntity> queryStoreUserList(QueryPageParams params, Integer storeId);

    /**
     * 编辑商家管理员
     * @param params
     * @param storeId
     * @return
     */
    R editStoreUser(EditStoreUserParamsDto params, Integer storeId);

    /**
     * 更新用户角色对应关系
     * @param storeUserId
     * @param storeId
     * @param roles
     */
    void updateUserRole(Integer storeUserId, Integer storeId, List<Integer> roles);

    /**
     * 删除商家管理员
     * @param userId
     * @param storeId
     * @return
     */
    R deleteStoreUser(Integer userId, Integer storeId);
}

